package edu.gatech.oad.antlab.person;

/**
 *  A simple class for person 1
 *  returns their name and a
 *  modified string 
 *  
 *  @author Bob
 *  @version 1.1
 */
public class Person4 {
  /** Holds the persons real name */
  private String name;
    /**
     * The constructor, takes in the persons
     * name
     * @param pname the person's real name
     */
  public Person4(String pname) {
    name = pname;
  }
    /**
     * This method should take the string
     * input and return its characters rotated
     * 2 positions.
     * given "gtg123b" it should return
     * "g123bgt".
     *
     * @param input the string to be modified
     * @return the modified string
     */
    private String calc(String input) {
    	
    	//case for null imput to avoid exceptions
    	if(input == null){
    		return null;
    	}
    	
    	//base case 1 with 2 character long input
    	if(input.length()==1||input.length()==2){
    		return input;
    	}
    	
    	//handles every other case when input is larger than 2 characters
    	else{
    		String result;
    		result = input.substring(2,input.length());
    		result = result+input.substring(0,2);
    		return result;
    	}
    }
    
    /**
     * Return a string rep of this object
     * that varies with an input string
     *
     * @param input the varying string
     * @return the string representing the 
     *         object
     */
    public String toString(String input) {
      return name + calc(input);
    }

}

